/*
Dart 常量：   final 和 const修饰符  
    const值不变 一开始就得赋值
    final 可以开始不赋值 只能赋一次 ; 而final不仅有const的编译时常量的特性，最重要的它是运行时常量，并且final是惰性初始化，即在运行时第一次使用前才初始化
    永远不改量的量，请使用final或const修饰它，而不是使用var或其他变量类型。
*/


void main(){

 /**
  var str='this is a str';
  str='你好 str';
  print(str);

  int myNum=1234;
  myNum=4567;
  print(myNum);
 */

//const常量
  // const PI=3.14159;
  // PI=123.1243; //错误的写法 常量不可以修改
  // print(PI);

// final 常量
    // final PI=3.14159;
    // PI=124214.214124;   //错误写法
    // print(PI);

    final a=new DateTime.now();
    print(a);   //2019-05-10 15:59:02.966122

    //const a=new DateTime.now();   //报错了

/*
  区别：
  final 可以开始不赋值 只能赋一次 ; 
  而final不仅有const的编译时常量的特性，最重要的它是运行时常量，并且final是惰性初始化，即在运行时第一次使用前才初始化
 */

}